My HAL file
THIS IS FOR NOVAKON PULSAR STEPPER MODEL # Generated by PNCconf at Sat Jul 25 07:52:12 2015 # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt trivkins loadrt EMCMOTEMCMOT servo_period_nsec=EMCMOTSERVO_PERIOD num_joints=TRAJAXES num_dio=64 num_aio=64 # I added the num_dio and num_ai loadrt hostmot2 loadrt hm2_pci config=" num_encoders=0 num_pwmgens=0 num_stepgens=14" # I added lines below to match Tormach hal file loadrt estop_latch loadrt toggle count=1 loadrt not names=prog-not-idle,axis3-not-homing loadrt gearchange count=1 loadrt mux2 count=2 # Following line I added 'probe-enable-input' to xor2 to allow PROBE and Tool Touch Plate loadrt xor2 names=probe-active-hi-lo,probe-enable-input loadrt debounce cfg=7 loadrt pid num_chan=5 loadrt tormachspindle names=tormachspindle loadrt and2 names=enable-limit-x,enable-limit-y,enable-limit-z, #Original Tormach had this here: probe-enable-input # - - - - setp hm2_5i25.0.watchdog.timeout_ns 5000000 # servo thread addf hm2_5i25.0.read servo-thread addf hm2_5i25.0.write servo-thread addf hm2_5i25.0.pet_watchdog servo-thread # I added this line from Tormach hal addf motion-command-handler servo-thread addf motion-controller servo-thread addf estop-latch.0 servo-thread # I added this line from Tormach hal # I added below from tormach hal addf toggle.0 servo-thread addf prog-not-idle servo-thread addf axis3-not-homing servo-thread addf gearchange.0 servo-thread addf mux2.0 servo-thread addf probe-active-hi-lo servo-thread addf debounce.0 servo-thread addf mux2.1 servo-thread addf tormachspindle servo-thread addf enable-limit-x servo-thread addf enable-limit-y servo-thread addf enable-limit-z servo-thread addf probe-enable-input servo-thread # ——— addf pid.0.do-pid-calcs servo-thread addf pid.1.do-pid-calcs servo-thread addf pid.2.do-pid-calcs servo-thread addf pid.3.do-pid-calcs servo-thread addf pid.4.do-pid-calcs servo-thread ########################################## # noise debounce for home switches and estop - This section copied from Tormach setp debounce.0.delay 1 ########################################## # 5i25 watchdog timeout - This section copied from Tormach # 10 milliseconds (~10 times the servo loop period) setp hm2_5i25.0.watchdog.timeout_ns 10000000 ########################### # 5i25 Pin out for NOVAKON bit file #IO Connections for P3 #Pin# Mill Fxn I/O Pri. func Sec. func Chan Pin func Pin Dir # # 1 X step 0 IOPort StepGen 0 Step (Out) #14 Spindle Dir 1 IOPort StepGen 5 Dir (Out) # 2 X Dir 2 IOPort StepGen 0 Dir (Out) #15 ProbeIn(act low) 3 IOPort None # 3 Y Step 4 IOPort StepGen 1 Step (Out) #16 Spindle Step 5 IOPort StepGen 5 Step (Out) # 4 Y Dir 6 IOPort StepGen 1 Dir (Out) #17 Charge Pump 7 IOPort StepGen 6 Step (Out) # 5 Z Step 8 IOPort StepGen 2 Step (Out) # 6 Z Dir 9 IOPort StepGen 2 Dir (Out) # 7 A Step 10 IOPort StepGen 3 Step (Out) # 8 A Dir 11 IOPort StepGen 3 Dir (Out) # 9 Flood Relay 12 IOPort None #10 E-Stop In 13 IOPort None #11 All Limit Sw 14 IOPort None #12 15 IOPort None #13 Timing/Touch pl 16 IOPort None ############################################## ######################################################################## # Charge pump # pin set by 5i25 configuration # P3 pin 17 gpio 007 # dc = (value/scale) # ---Chargepump StepGen: 0.25 velocity = 10Khz square wave output--- # This is native linuxcnc setp hm2_5i25.0.stepgen.06.dirsetup 100 setp hm2_5i25.0.stepgen.06.dirhold 100 setp hm2_5i25.0.stepgen.06.steplen 100 setp hm2_5i25.0.stepgen.06.stepspace 100 setp hm2_5i25.0.stepgen.06.position-scale 10000 setp hm2_5i25.0.stepgen.06.step_type 2 setp hm2_5i25.0.stepgen.06.control-type 1 setp hm2_5i25.0.stepgen.06.maxaccel 0 setp hm2_5i25.0.stepgen.06.maxvel 0 setp hm2_5i25.0.stepgen.06.velocity-cmd 1 net x-enable => hm2_5i25.0.stepgen.06.enable # --- ESTOP-EXT --- the debounce out will go to machine-ok net estop-ext <= hm2_5i25.0.gpio.013.in_not => debounce.0.3.in #******************* # AXIS X #******************* setp pid.0.Pgain AXIS_0P setp pid.0.Igain AXIS_0I setp pid.0.Dgain AXIS_0D setp pid.0.bias AXIS_0BIAS setp pid.0.FF0 AXIS_0FF0 setp pid.0.FF1 AXIS_0FF1 setp pid.0.FF2 AXIS_0FF2 setp pid.0.deadband AXIS_0DEADBAND setp pid.0.maxoutput AXIS_0MAX_OUTPUT setp pid.0.error-previous-target true setp pid.0.maxerror .0005 net x-index-enable <=> pid.0.index-enable net x-enable => pid.0.enable net x-pos-cmd => pid.0.command net x-vel-cmd => pid.0.command-deriv net x-pos-fb => pid.0.feedback net x-output => pid.0.output # Step Gen signals/setup # step/dir setp hm2_5i25.0.stepgen.00.step_type 0 # velocity control setp hm2_5i25.0.stepgen.00.control-type 1 # scaling for position feedback, position command, and velocity command, in steps per length unit. # converts from counts to position units. position = counts / position_scale setp hm2_5i25.0.stepgen.00.position-scale AXIS_0SCALE # stepper driver timing parameters setp hm2_5i25.0.stepgen.00.dirsetup AXIS_0DIRSETUP setp hm2_5i25.0.stepgen.00.dirhold AXIS_0DIRHOLD setp hm2_5i25.0.stepgen.00.steplen AXIS_0STEPLEN setp hm2_5i25.0.stepgen.00.stepspace AXIS_0STEPSPACE setp hm2_5i25.0.stepgen.00.maxaccel AXIS_0STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.00.maxvel AXIS_0STEPGEN_MAX_VEL ########################################### # Added this section from tormach # # position command and feedback #net emcmot.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command #net emcmot.00.vel-cmd axis.0.joint-vel-cmd => pid.0.command-deriv #net motor.00.pos-fb <= hm2_5i25.0.stepgen.00.position-fb axis.0.motor-pos-fb pid.0.feedback #net motor.00.command pid.0.output hm2_5i25.0.stepgen.00.velocity-cmd setp pid.0.error-previous-target true # ---closedloop stepper signals--- net x-pos-cmd <= axis.0.motor-pos-cmd net x-vel-cmd <= axis.0.joint-vel-cmd net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb net x-pos-fb => axis.0.motor-pos-fb net x-enable <= axis.0.amp-enable-out net x-enable => hm2_5i25.0.stepgen.00.enable #******************* # AXIS Y #******************* setp pid.1.Pgain AXIS_1P setp pid.1.Igain AXIS_1I setp pid.1.Dgain AXIS_1D setp pid.1.bias AXIS_1BIAS setp pid.1.FF0 AXIS_1FF0 setp pid.1.FF1 AXIS_1FF1 setp pid.1.FF2 AXIS_1FF2 setp pid.1.deadband AXIS_1DEADBAND setp pid.1.maxoutput AXIS_1MAX_OUTPUT setp pid.1.error-previous-target true setp pid.1.maxerror .0005 net y-index-enable <=> pid.1.index-enable net y-enable => pid.1.enable net y-pos-cmd => pid.1.command net y-vel-cmd => pid.1.command-deriv net y-pos-fb => pid.1.feedback net y-output => pid.1.output # Step Gen signals/setup setp hm2_5i25.0.stepgen.01.dirsetup AXIS_1DIRSETUP setp hm2_5i25.0.stepgen.01.dirhold AXIS_1DIRHOLD setp hm2_5i25.0.stepgen.01.steplen AXIS_1STEPLEN setp hm2_5i25.0.stepgen.01.stepspace AXIS_1STEPSPACE setp hm2_5i25.0.stepgen.01.position-scale AXIS_1SCALE setp hm2_5i25.0.stepgen.01.step_type 0 setp hm2_5i25.0.stepgen.01.control-type 1 setp hm2_5i25.0.stepgen.01.maxaccel AXIS_1STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.01.maxvel AXIS_1STEPGEN_MAX_VEL # ---closedloop stepper signals--- net y-pos-cmd <= axis.1.motor-pos-cmd net y-vel-cmd <= axis.1.joint-vel-cmd net y-output <= hm2_5i25.0.stepgen.01.velocity-cmd net y-pos-fb <= hm2_5i25.0.stepgen.01.position-fb net y-pos-fb => axis.1.motor-pos-fb net y-enable <= axis.1.amp-enable-out net y-enable => hm2_5i25.0.stepgen.01.enable #******************* # AXIS Z #******************* setp pid.2.Pgain AXIS_2P setp pid.2.Igain AXIS_2I setp pid.2.Dgain AXIS_2D setp pid.2.bias AXIS_2BIAS setp pid.2.FF0 AXIS_2FF0 setp pid.2.FF1 AXIS_2FF1 setp pid.2.FF2 AXIS_2FF2 setp pid.2.deadband AXIS_2DEADBAND setp pid.2.maxoutput AXIS_2MAX_OUTPUT setp pid.2.error-previous-target true setp pid.2.maxerror .0005 net z-index-enable <=> pid.2.index-enable net z-enable => pid.2.enable net z-pos-cmd => pid.2.command net z-vel-cmd => pid.2.command-deriv net z-pos-fb => pid.2.feedback net z-output => pid.2.output # Step Gen signals/setup setp hm2_5i25.0.stepgen.02.dirsetup AXIS_2DIRSETUP setp hm2_5i25.0.stepgen.02.dirhold AXIS_2DIRHOLD setp hm2_5i25.0.stepgen.02.steplen AXIS_2STEPLEN setp hm2_5i25.0.stepgen.02.stepspace AXIS_2STEPSPACE setp hm2_5i25.0.stepgen.02.position-scale AXIS_2SCALE setp hm2_5i25.0.stepgen.02.step_type 0 setp hm2_5i25.0.stepgen.02.control-type 1 setp hm2_5i25.0.stepgen.02.maxaccel AXIS_2STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.02.maxvel AXIS_2STEPGEN_MAX_VEL # ---closedloop stepper signals--- net z-pos-cmd <= axis.2.motor-pos-cmd net z-vel-cmd <= axis.2.joint-vel-cmd net z-output <= hm2_5i25.0.stepgen.02.velocity-cmd net z-pos-fb <= hm2_5i25.0.stepgen.02.position-fb net z-pos-fb => axis.2.motor-pos-fb net z-enable <= axis.2.amp-enable-out net z-enable => hm2_5i25.0.stepgen.02.enable ######################################################################## # A axis # step/dir setp hm2_5i25.0.stepgen.03.step_type 0 # velocity control setp hm2_5i25.0.stepgen.03.control-type 1 # scaling for position feedback, position command, and velocity command, in steps per length unit. # converts from counts to position units. position = counts / position_scale setp hm2_5i25.0.stepgen.03.position-scale AXIS_3SCALE # stepper driver timing parameters setp hm2_5i25.0.stepgen.03.steplen AXIS_3STEPLEN setp hm2_5i25.0.stepgen.03.stepspace AXIS_3STEPSPACE setp hm2_5i25.0.stepgen.03.dirhold AXIS_3DIRHOLD setp hm2_5i25.0.stepgen.03.dirsetup AXIS_3DIRSETUP setp hm2_5i25.0.stepgen.03.maxvel AXIS_3MAX_VELOCITY # acceleration/deceleration limit, in length units per second squared # maximum acceleration, in position units per second per second setp hm2_5i25.0.stepgen.03.maxaccel AXIS_3MAX_ACCELERATION # axis enable chain newsig emcmot.03.enable bit sets emcmot.03.enable FALSE net emcmot.03.enable <= axis.3.amp-enable-out net emcmot.03.enable => hm2_5i25.0.stepgen.03.enable pid.3.enable # position command and feedback net emcmot.03.pos-cmd axis.3.motor-pos-cmd => pid.3.command net emcmot.03.vel-cmd axis.3.joint-vel-cmd => pid.3.command-deriv net motor.03.pos-fb <= hm2_5i25.0.stepgen.03.position-fb axis.3.motor-pos-fb pid.3.feedback net motor.03.command pid.3.output hm2_5i25.0.stepgen.03.velocity-cmd setp pid.3.error-previous-target true # PID parameters setp pid.3.Pgain AXIS_3P setp pid.3.Igain AXIS_3I setp pid.3.Dgain AXIS_3D setp pid.3.bias AXIS_3BIAS setp pid.3.FF0 AXIS_3FF0 setp pid.3.FF1 AXIS_3FF1 setp pid.3.FF2 AXIS_3FF2 setp pid.3.deadband AXIS_3DEADBAND setp pid.3.maxoutput AXIS_3MAX_OUTPUT setp pid.3.maxerror AXIS_3MAX_ERROR # P3 pin 9 gpio 012 # A step setp hm2_5i25.0.gpio.010.invert_output 1 ######################################################################## #******************* # SPINDLE S #******************* setp pid.4.Pgain SPINDLEP setp pid.4.Igain SPINDLEI setp pid.4.Dgain SPINDLED setp pid.4.bias SPINDLEBIAS setp pid.4.FF0 SPINDLEFF0 setp pid.4.FF1 SPINDLEFF1 setp pid.4.FF2 SPINDLEFF2 setp pid.4.deadband SPINDLEDEADBAND setp pid.4.maxoutput SPINDLEMAX_OUTPUT setp pid.4.error-previous-target true setp pid.4.maxerror .0005 net spindle-index-enable <=> pid.4.index-enable net spindle-enable => pid.4.enable net spindle-vel-cmd-rpm => pid.4.command net spindle-vel-fb-rpm => pid.4.feedback net spindle-output <= pid.4.output # Step Gen signals/setup # type 1 velocity control mode setp hm2_5i25.0.stepgen.05.control-type 1 # step/dir # type 2 quadrature output for 50% duty cycle - this is “2” in tormach hal setp hm2_5i25.0.stepgen.05.step_type 0 # no scaling 1:1 setp hm2_5i25.0.stepgen.05.position-scale SPINDLESTEP_SCALE # Tormach default is "1" # handle spindle at speed via separate component “0” in tormach hal setp hm2_5i25.0.stepgen.05.maxaccel SPINDLEMAX_ACCELERATION # 0 in tormach # stepspace in nanoseconds “0” in tormach setp hm2_5i25.0.stepgen.05.stepspace SPINDLESTEPSPACE # steplen in nanoseconds (10 microseconds) 10000 in tormach setp hm2_5i25.0.stepgen.05.steplen SPINDLESTEPLEN ############################################################################## # All of this added from tormach hal - changed to pin 5 for my novakon spindle # assume standard spindle until UI sets it - maybe delete this? setp tormachspindle.spindle-type 0 # hispeed spindle min/max setp tormachspindle.hispeed-min 1 setp tormachspindle.hispeed-max 4500 # allow UI to access min/max for high speed spindle # do not net these until the UI code is changed to set them explicitly # or the setp command above will not stick and they will be set to 0 net spindle-hispeed-min tormachspindle.hispeed-min net spindle-hispeed-max tormachspindle.hispeed-max # these let the UI read the min/max maintained by the comp based on spindle type net spindle-min-speed tormachspindle.min-speed net spindle-max-speed tormachspindle.max-speed # the UI sets the spindle type net spindle-type tormachspindle.spindle-type # assume high range until UI sets it setp tormachspindle.belt-position 1 net spindle-range tormachspindle.belt-position net spindle-range-alarm tormachspindle.speed-alarm setp tormachspindle.lowbelt-min-rpm SPINDLELO_RANGE_MIN setp tormachspindle.lowbelt-max-rpm SPINDLELO_RANGE_MAX setp tormachspindle.highbelt-min-rpm SPINDLEHI_RANGE_MIN setp tormachspindle.highbelt-max-rpm SPINDLEHI_RANGE_MAX # speed-out is displayed by UI when program running net spindle-speed-fb-rpm tormachspindle.speed-out # connect motion speed-out to input of spindle comp net spindle-speed-raw motion.spindle-speed-out tormachspindle.speed-in # connect output of spindle comp to stepgen #net spindle-speed tormachspindle.mcb-freq-out hm2_5i25.0.stepgen.05.velocity-cmd # spindle at speed parameters for tormachspindle component setp tormachspindle.startup-delay SPINDLESTARTUP_DELAY # time to reach max speed from stopped setp tormachspindle.seconds-to-max-rpm SPINDLESECONDS_TO_MAX_RPM # connect spindle comp at-speed output to motion net spindle-at-speed tormachspindle.at-speed motion.spindle-at-speed # connect motion spindle enable to stepgen enable and spindle comp net spindle-on motion.spindle-on hm2_5i25.0.stepgen.05.enable tormachspindle.spindle-on # spindle direction # P3 pin 16 gpio 005 #setp hm2_5i25.0.gpio.005.is_output 1 #net spindle-cw motion.spindle-forward => hm2_5i25.0.gpio.005.out # UI access to stop spindle while in feedhold / INTERP_PAUSED net spindle-disable tormachspindle.disable ############################################################################## # This is native to linuxcnc setp hm2_5i25.0.stepgen.05.dirsetup SPINDLEDIRSETUP setp hm2_5i25.0.stepgen.05.dirhold SPINDLEDIRHOLD setp hm2_5i25.0.stepgen.05.maxvel SPINDLEMAX_VELOCITY setp hm2_5i25.0.gpio.001.invert_output true #net machine-is-enabled => hm2_5i25.0.stepgen.05.enable net spindle-vel-cmd-rps => hm2_5i25.0.stepgen.05.velocity-cmd net spindle-vel-fb-rps <= hm2_5i25.0.stepgen.05.velocity-fb # ---closedloop stepper signals--- #net s-pos-cmd <= axis.9.motor-pos-cmd #net s-vel-cmd <= axis.9.joint-vel-cmd #net s-output <= hm2_5i25.0.stepgen.05.velocity-cmd #net s-pos-fb <= hm2_5i25.0.stepgen.05.position-fb #net s-pos-fb => axis.9.motor-pos-fb #net s-enable <= axis.9.amp-enable-out #net s-enable => hm2_5i25.0.stepgen.05.enable # ---setup spindle control signals--- net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs # I remarked out following lines # net spindle-vel-cmd-rpm <= motion.spindle-speed-out net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs # net spindle-enable <= motion.spindle-on net spindle-cw <= motion.spindle-forward net spindle-ccw <= motion.spindle-reverse net spindle-brake <= motion.spindle-brake net spindle-revs => motion.spindle-revs net spindle-at-speed => motion.spindle-at-speed net spindle-vel-fb-rps => motion.spindle-speed-in net spindle-index-enable <=> motion.spindle-index-enable # ---Setup spindle at speed signals--- # I remarked out following # sets spindle-at-speed true #****************************** # connect miscellaneous signals #****************************** # ---HALUI signals--- net joint-select-a halui.joint.0.select net x-is-homed halui.joint.0.is-homed net jog-x-pos halui.jog.0.plus net jog-x-neg halui.jog.0.minus net jog-x-analog halui.jog.0.analog net joint-select-b halui.joint.1.select net y-is-homed halui.joint.1.is-homed net jog-y-pos halui.jog.1.plus net jog-y-neg halui.jog.1.minus net jog-y-analog halui.jog.1.analog net joint-select-c halui.joint.2.select net z-is-homed halui.joint.2.is-homed net jog-z-pos halui.jog.2.plus net jog-z-neg halui.jog.2.minus net jog-z-analog halui.jog.2.analog net jog-selected-pos halui.jog.selected.plus net jog-selected-neg halui.jog.selected.minus net spindle-manual-cw halui.spindle.forward net spindle-manual-ccw halui.spindle.reverse net spindle-manual-stop halui.spindle.stop net machine-is-on halui.machine.is-on net jog-speed halui.jog-speed net MDI-mode halui.mode.is-mdi ######################################################################## # Coolant # P3 pin 9 gpio 012 #net coolant-mist <= iocontrol.0.coolant-mist net coolant-flood-io <= iocontrol.0.coolant-flood net coolant-flood hm2_5i25.0.gpio.012.out setp hm2_5i25.0.gpio.012.invert_output 1 setp hm2_5i25.0.gpio.012.is_output true # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled # ---estop signals--- net estop-out <= iocontrol.0.user-enable-out net estop-ext => iocontrol.0.emc-enable-in ######################################################################## # E stop # P3 pin 10 gpio 013 # estop noise debounce # use this line with a machine attached # I remarked out following line #net machine-ok-raw <= hm2_5i25.0.gpio.013.in_not => debounce.0.3.in # use the setp line below without a machine attached # this isn't useful unless a properly flashed 5i25 is present # no machine attached #setp debounce.0.3.in 1 net machine-ok debounce.0.3.out => estop-latch.0.ok-in ## I remarked out with the following line # net estop estop-latch.0.ok-out => iocontrol.0.emc-enable-in => hm2_5i25.0.gpio.013.enable net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset net estop-out <= iocontrol.0.user-enable-out ######################################################################## ######################################################################## # Probe + Tool Touch Plate: # P3 pin 15 gpio 003 setp hm2_5i25.0.gpio.003.is_output 0 # I changed following line to invert probe input by adding "_not" - for passive probe - net probe-in hm2_5i25.0.gpio.003.in_not debounce.0.4.in net probe-active-high probe-active-hi-lo.in0 net probe-debounced debounce.0.4.out probe-active-hi-lo.in1 # connect 4th axis home input directly to debounced accessory input- I remarked this out #net probe-debounced axis.3.home-sw-in # probe active hi-low output signal to AND input with probe-enable signal net probe-hi-lo probe-active-hi-lo.out probe-enable-input.in1 net probe-input probe-enable-input.out motion.probe-input ### # Tool Touch Plate - All of this was added by me- touchplate on i/o gpio 16 setp hm2_5i25.0.gpio.016.is_output 0 net tool_plate hm2_5i25.0.gpio.016.in_not debounce.0.5.in net touch_plate debounce.0.5.out net touch_plate probe-enable-input.in0 ######################################################################## # home switches - This section copied from Tormach but changed to gpio 14 for my Limit sw # must noise debounce inputs - otherwise coolant on/off can cause spurious estops net all-limit <= hm2_5i25.0.gpio.014.in => debounce.0.0.in debounce.0.1.in debounce.0.2.in # I REMARKED OUT FOLLOWING - below is Tormach #net home-limit-x-raw <= hm2_5i25.0.gpio.014.in => debounce.0.0.in #net home-limit-y-raw <= hm2_5i25.0.gpio.014.in => debounce.0.1.in #net home-limit-z-raw <= hm2_5i25.0.gpio.014.in => debounce.0.2.in # This was remarked out in Tormach #setp debounce.0.0.in 1 #setp debounce.0.1.in 1 #setp debounce.0.2.in 1 # route through AND gates to enable switches via UI net and-home-x debounce.0.0.out enable-limit-x.in1 net and-home-y debounce.0.1.out enable-limit-y.in1 net and-home-z debounce.0.2.out enable-limit-z.in1 # post gui connects this to the UI net limit-switch-enable enable-limit-x.in0 enable-limit-y.in0 enable-limit-z.in0 # Connect to Axes - Original tormach below #net home-limit-x enable-limit-x.out axis.0.home-sw-in axis.0.neg-lim-sw-in axis.0.pos-lim-sw-in #net home-limit-y enable-limit-y.out axis.1.home-sw-in axis.1.neg-lim-sw-in axis.1.pos-lim-sw-in #net home-limit-z enable-limit-z.out axis.2.home-sw-in axis.2.neg-lim-sw-in axis.2.pos-lim-sw-in net home-limit-x enable-limit-x.out axis.0.home-sw-in net home-limit-y enable-limit-y.out axis.1.home-sw-in net home-limit-z enable-limit-z.out axis.2.home-sw-in ######################################################################## # # tool change - copied from Tormach # # loopback tool-change to tool-changed net tool-change iocontrol.0.tool-change => iocontrol.0.tool-changed # loopback prepare to prepared net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared ################# # this section is native - Linuxcnc - but remarked out by me #loadusr -W hal_manualtoolchange #net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change #net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed #net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number #net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared